Due to the current interest in digital multimedia interactive programs, there has been extensive activity in the international standards bodies dealing with still picture and motion video compression. In particular, the Motion Picture Experts Group (MPEG), a group working under the sponsorship of the International Standards Organization, is rapidly converging towards a standard for the compression of digital motion video. One of the interesting features of this standard is that only the "decoding" algorithm syntax will be specified in detail. It will be thus possible to have different encoders, all of which produce bit streams compatible with the standard's syntax, and yet result in different levels of video quality. The MPEG video standard is fully described in ISO-IEC JTC1/SC2/WG11, MPEG 90/176 Rev. 2, Dec. 18, 1990. This reference is hereby incorporated in its entirety into this disclosure. The MPEG standards will be briefly discussed herein.
Generally, the MPEG video standard defines a layered architecture for compressing a video sequence. First, a sequence of video pictures is subdivided into disjoint Groups of Pictures (GOP). Each GOP is compressed independently of other GOPs to facilitate random access to any picture and also to limit the propagation of transmission errors.
Every picture in a GOP is subdivided into Macro-Blocks (MB). For a color picture, a MB is a collection of 16.times.16 luminance pixels and two 8.times.8 blocks of chrominance pixels. In MPEG, the two chrominance components are sampled at half the horizontal and vertical resolution of the luminance. As such, a MB completely describes a 16.times.16 color segment of a picture. In a MB, the 16.times.16 luminance pixels are further subdivided into four luminance blocks of 8.times.8 pixels.
MBs can be coded into two modes, namely: intra and predictive. In intramode, a MB is coded independently of pixel data in previous or future pictures. In predictive mode a MB is coded with reference to pixel data in either a previous (forward prediction), a future picture (backward prediction), or both (interpolative prediction). A prediction is formed by applying motion compensation techniques to the referenced pictures, and an MB error data is generated by subtracting the prediction from the original pixel data.
The MPEG standard requires that the first picture in a GOP be coded as an intrapicture. An intra picture is defined as having all of its MBs coded in the intramode. The remaining pictures of a GOP are then coded as either unidirectional predictive pictures (i.e., its MBs are coded in a mixture of intramode and forward prediction) or bidirectional predictive pictures (i.e., its MBs are coded in any of the MB coding modes).
The still or motion picture data in the form of MB's (represented by either the actual MB pixel data (intramode) or only the error data (predictive) to be compressed is then inputted to a first compression step. This first compression step is a transformation applied by a 2-dimensional 8.times.8 Discrete Cosine Transform (DCT) to each of the MB blocks.
After applying the DCT to the six blocks in a MB, MPEG suggests that the resulting transform coefficients undergoes a second compression step. This second compression step is a scaling and truncation step (referred to in the art as "quantization"). Each of the DCT coefficients are uniformly quantized with a matrix of quantization steps. MPEG specifies one of two reference matrices from which the quantization steps may be derived. The choice of which matrix depends on the MB mode. This second step is an additional compression step which is necessary to achieve adequate compression of the picture data. Although the reference matrices can be defined by the encoder at the beginning of a video sequence, they remain fixed afterwards. MPEG allows dynamic changes to the matrix of quantization steps, however, by allowing a scaling factor for the reference matrices; this scaling factor can be changed for every MB. MPEG, however, does not disclose an apparatus or method for determining and changing the scaling factor. Keeping this scaling factor constant may result in the unnecessary loss of picture quality during the compression mode.